package me.zhilong.bms.api.controllers;
import me.zhilong.bms.api.annotation.AuthPass;
import me.zhilong.bms.api.service.SensorService;
import me.zhilong.bms.api.service.UserService;
import me.zhilong.bms.common.entitys.SensorEntity;
import me.zhilong.bms.common.enumtype.SensorDataStatusEnum;
import me.zhilong.bms.common.enumtype.SensorStatusEnum;
import me.zhilong.bms.common.enumtype.UserStatusEnum;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
/**
* @author:刘志龙
* @since:2014年12月1日 上午10:47:38
* @version:1.0
*/
@Controller
@RequestMapping(value = "/sensor")
public class SensorController {
@Autowired
UserService userService;
@Autowired
SensorService sensorService;
/**
* 后台注册传感器
*
* @param username
* @param usertoken
* @param serialnum
* @param sensortype
* @param session
* @return
*/
@AuthPass
@ResponseBody
@RequestMapping(value = "/add", method = RequestMethod.POST, produces = "application/json;charset=UTF-8")
public Object getMySensor(@RequestParam(value = "username", required = true) String username,
@RequestParam(value = "usertoken", required = true) String usertoken,
@RequestParam(value = "serialnum", required = true) String serialnum,
@RequestParam(value = "sensortype", required = true) String sensortype,
@RequestParam(value = "sensoraddr", required = true) String sensoraddr) {
StringBuilder regMsg = new StringBuilder("{\"returnmsg\":\"");
if (serialnum.trim().equals("") || sensortype.trim().equals("")) {
regMsg.append(SensorDataStatusEnum.PI.getValue());
regMsg.append("\"}");
return regMsg.toString();
}
SensorEntity se = new SensorEntity();
se.setSerialNum(serialnum);
se.setSensorType(sensortype);
se.setSensorAddr(sensoraddr);
if (userService.checkAuth(username)) {
try {
regMsg.append(sensorService.saveSensorByObject(se).getDisplayName());
} catch (Exception e) {
regMsg.append(SensorStatusEnum.SF.getValue());
}
} else {
regMsg.append(UserStatusEnum.AF.getValue());
}
regMsg.append("\"}");
return regMsg.toString();
}
}